<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="./require.js" data-main="./dist/Main.js" async defer></script>
  </head>
  <body>
    <script>
      /*
      // 创建事件 addEventListener(事件类型, 事件回调函数, 布尔值);
      // 事件本质: 1.侦听事件 2.抛发事件
      document.addEventListener('hsl', handelHsl);//侦听
      console.dir(document)
      // document的__proto__即HTMLDocument => Node的__proto__ => EventTarget的__proto__ 
      // 所有元素都是继承HTMLDocument,根源都是EventTarget
      // EventTarget有三个方法: addEventListener、dispatchEvent、 removeEventListener
      // 在ES6中,允许继承EventTarget;继承后可以实现侦听、抛发、移除
      // 在ts中不允许继承-需要自己重构
      var evt = new Event('hsl');
      evt.a = 10
      document.dispatchEvent(evt)//抛发
      function handelHsl(e){
        console.log(e)
      }
      */
     
    </script>
  </body>
</html>
